Remove gdk_win32_input_shape_combine_region()
authorРуслан Ижбулатов <lrn1986@gmail.com>
Thu, 24 Jul 2014 13:41:51 +0000 (13:41 +0000)
committerРуслан Ижбулатов <lrn1986@gmail.com>
Thu, 24 Jul 2014 16:01:06 +0000 (16:01 +0000)
This function currently calls gdk_win32_window_shape_combine_region(),
which is wrong, because it leads to SetWindowRgn() being called with
non-NULL region, which makes W32 disable theming (particularly - decoration
theming), which makes decorations revert back to old GDI-drawn Windows 2000
variant, which looks out of place and interacts *badly* with alpha channel
(because GDI).

https://bugzilla.gnome.org/show_bug.cgi?id=733671

gdk/win32/gdkwindow-win32.c

index 9b02791b49d38181689f3c46d16c707b16770dc4..0088206ed88ed0f15995dd1407808c0640398ff0 100644 (file)
@@ -3227,10 +3227,10 @@ gdk_win32_input_shape_combine_region (GdkWindow *window,
                                      gint offset_x,
                                      gint offset_y)
 {
-  if (GDK_WINDOW_DESTROYED (window))
-    return;
-  /* CHECK: are these really supposed to be the same? */
-  gdk_win32_window_shape_combine_region (window, shape_region, offset_x, offset_y);
+  /* Input shapes are not supported: input shape is always the same as
+   * the window shape; pixels with alpha == 0 are usually not clickable,
+   * clickability can be overriden by handling WM_NCHITTEST.
+   */
 }
 
 gboolean